package com.zhhs.galaxyott.httpVolley.parser;

import org.json.JSONException;
import org.json.JSONObject;

import com.zhhs.galaxyott.httpVolley.response.BaseResponse;

/**
 * 基类,Json解析器.解析服务端返回的Json数据.
 * 
 * @author youpeng
 * 
 * @param <T>
 */
public abstract class BaseParser<T> {

    /**
     * Json解析,将Json解析后的属性集合封装成对象.
     * 
     * @param jsonString
     *            服务端返回的数据.
     * @return 封装成JavaBean后的属性集合.
     */
    public abstract BaseResponse parse(String jsonString);

    /**
     * 解析基础信息.
     * 
     * @param jo
     *            封装后的Json对象.
     * @param br
     *            封装成JavaBean后的属性集合.
     */
    public void parseMsg(JSONObject jo, BaseResponse br) {
        if (jo != null) {
            try {
                if (jo.has("errCode")) {
                    br.errCode = jo.getInt("errCode");
                }
                if (jo.has("msg")) {
                    br.errCode = jo.getInt("msg");
                }
                // br.errCode = jo.getInt("errCode");
                // br.msg = jo.getString("msg");
                // br.originalResult = jo;
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }
}
